﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing;
using System.Windows.Forms;

namespace LunarSF.SHomeWorkshop.LunarMarkdownEditor
{
    public class NopiHelper
    {
        /// <summary>
        /// 字显示宽度，用于段首行缩进
        /// 字号与 fontSize 关系:
        /// 初号=84，小初=72，
        /// 一号=52，小一=48
        /// 二号=44，小二=36，
        /// 三号=32，小三=30，
        /// 四号=28，小四=24，
        /// 五号=21，小五=18，
        /// 六号=15，小六=13，
        /// 七号=11，
        /// 八号=10
        /// （与 Word 中字号框里的数据相比，这里都是 乘以 2。
        /// 本方法需要引用 System.Drawing 、System.Windows.Forms 这两个库。
        /// </summary>
        public static int Indentation(String fontname, int fontsize, int Indentationfonts, FontStyle fs)
        {
            var ctrl = new Control();
            Graphics m_tmpGr = ctrl.CreateGraphics();
            m_tmpGr.PageUnit = GraphicsUnit.Point;
            SizeF size = m_tmpGr.MeasureString("好", new Font(fontname, fontsize * 0.75F, fs));
            return (int)size.Width * Indentationfonts * 10;
        }
    }
}
